From 91d87f2ede046e6bc0b59ed9958c13f7aafe678d Mon Sep 17 00:00:00 2001 From: oliskoli Date: Sun, 15 Jul 2007 17:09:09 +0000 Subject: [PATCH] Add fields PATH_SPEED_KPH and PATH_SPEED_MPH to xcsv. --- csv_util.c | 12 ++++++++++++ defs.h | 9 +++++++++ xmldoc/chapters/styles.xml | 24 ++++++++++++++++++++++++ 3 files changed, 45 insertions(+) diff --git a/csv_util.c b/csv_util.c index e3389376f..3f87bc9ee 100644 --- a/csv_util.c +++ b/csv_util.c @@ -911,6 +911,12 @@ xcsv_parse_val(const char *s, waypoint *wpt, const field_map_t *fmp) if (strcmp(fmp->key, "PATH_SPEED") == 0) { WAYPT_SET(wpt, speed, atof(s)); } else + if (strcmp(fmp->key, "PATH_SPEED_KPH") == 0) { + WAYPT_SET(wpt, speed, KPH_TO_MPS(atof(s))); + } else + if (strcmp(fmp->key, "PATH_SPEED_MPH") == 0) { + WAYPT_SET(wpt, speed, MPH_TO_MPS(atof(s))); + } else if (strcmp(fmp->key, "PATH_COURSE") == 0) { WAYPT_SET(wpt, course, atof(s)); } else @@ -1420,6 +1426,12 @@ xcsv_waypt_pr(const waypoint *wpt) if (strcmp(fmp->key, "PATH_SPEED") == 0) { writebuff( buff, fmp->printfc, wpt->speed ); } else + if (strcmp(fmp->key, "PATH_SPEED_KPH") == 0) { + writebuff( buff, fmp->printfc, MPS_TO_KPH(wpt->speed)); + } else + if (strcmp(fmp->key, "PATH_SPEED_MPH") == 0) { + writebuff( buff, fmp->printfc, MPS_TO_MPH(wpt->speed)); + } else if (strcmp(fmp->key, "PATH_COURSE") == 0) { writebuff( buff, fmp->printfc, wpt->course ); } else diff --git a/defs.h b/defs.h index c62d0718b..9759d34b7 100644 --- a/defs.h +++ b/defs.h @@ -64,6 +64,15 @@ #define SECONDS_PER_HOUR (60L*60) #define SECONDS_PER_DAY (24L*60*60) +/* meters/second to kilometers/hour */ +#define MPS_TO_KPH(a) ((double)(a)*SECONDS_PER_HOUR/1000) +/* meters/second to miles/hour */ +#define MPS_TO_MPH(a) (METERS_TO_MILES(a) * SECONDS_PER_HOUR) +/* kilometers/hour to meters/second */ +#define KPH_TO_MPS(a) ((double)(a)*1000/SECONDS_PER_HOUR) +/* miles/hour to meters/second */ +#define MPH_TO_MPS(a) (MILES_TO_METERS(a) / SECONDS_PER_HOUR) + /* * Snprintf is in SUS (so it's in most UNIX-like substance) and it's in * C99 (albeit with slightly different semantics) but it isn't in C89. diff --git a/xmldoc/chapters/styles.xml b/xmldoc/chapters/styles.xml index 199e91b6a..503555096 100644 --- a/xmldoc/chapters/styles.xml +++ b/xmldoc/chapters/styles.xml @@ -1057,6 +1057,30 @@ example: +
+PATH_SPEED_KPH + + Like PATH_SPEED but means kilometers per hour. + + +example: + + PATH_SPEED_KPH,"","%.1f" + +
+ +
+PATH_SPEED_MPH + + Like PATH_SPEED but means miles per hour. + + +example: + + PATH_SPEED_MPH,"","%.1f" + +
+
PATH_COURSE -- 2.30.2